var express = require('express');
var router = express.Router();

// 导入文件处理的工具包，记得先安装：npm i formidable@2.1.2   记得版本是这个，不然可能会有报错 formidable is not a function，也可以先试试不选择版本试试
const formidable = require('formidable');

/* GET home page. */
// 显示首页，访问根路径，就到 views 目录下里面的 index.ejs 文件，并传了一个 title 的属性
router.get('/', function (req, res, next) {
  res.render('index', { title: 'Express' });
});


// 显示网页
router.get('/portrait', function (req, res, next) {
  res.render('portrait');
});

// 处理文件上传
router.post('/portrait', function (req, res, next) {
  // 创建 form 对象
  const form = formidable({
    multiples: true,
    // 设置文件保持路径
    uploadDir: __dirname + '../public/images',
    // 保持文件后缀
    keepExtensions: true
  });
  // 解析请求报文
  form.parse(req, (err, fields, files) => {
    if (err) {
      next(err);
      return
    }

    console.log(fields);    // 输出 上传文件之外的参数
    console.log(files);     // 输出 上传文件的信息

    // 拼接上文件名，记得是新生成的文件名
    let url = '/images/' + files.portrait.newFilename

    res.send(url)   // 返回图片的地址，然后浏览器可以 ip端口 + url 查看到图片
  });

});

module.exports = router;
